본문으로 건너뛰기

객체 지향기반의 보안 정책 기술 언어

· 약 4분
김지영
김상현
강철범
장희진
이우진
담당교수
김상욱
유동영
김형종

논문 정보

  • 제목: A Security Policy Description Language Based on Object Oriented (객체 지향기반의 보안정책 기술 언어)
  • 저자: 김지영, 김상현, 강철범, 장희진, 이우진, 김상욱 (경북대학교), 유동영, 김형종 (한국정보보호진흥원)
  • 학회/저널: 관련 정보 없음 (한국정보보호진흥원 지원 연구 결과물로 추정)
  • 발행일: 2002년 이후 (참고문헌 기준 추정)
  • DOI: 정보 없음
  • 주요 연구 내용: 텍스트 기반 보안 정책 언어의 난해함을 해결하기 위해 UML(Unified Modeling Language)과 OCL(Object Constraint Language)을 도입하여 보안 정책을 그래픽 기반으로 기술하는 언어를 제안한다.
  • 주요 결과 및 결론: 클래스 다이어그램과 상태 다이어그램을 통해 시스템의 정적·동적 특성을 정의하고, 객체 다이어그램과 제약조건을 통해 구체적인 보안 정책(예: 패스워드 변경 주기)을 명확히 표현할 수 있음을 보였다.
  • 기여점: 시스템 관리자가 이해하기 쉬운 시각적 모델링 기법을 도입하여, 다양한 플랫폼과 도메인에 적용 가능한 정형화된 보안 정책 기술 방법을 제시했다.

요약

초록

인터넷의 확대로 컴퓨터 시스템 보안의 중요성이 커지고 있으나, 다양한 플랫폼과 시스템에 따라 보안 정책 정의 방식이 상이하여 관리에 어려움이 있다. 본 논문에서는 이러한 문제를 해결하기 위해 그래픽 기반의 객체지향 보안정책 언어를 제안한다. 제안하는 언어는 시스템 구성요소의 정적 관계를 표현하는 클래스 다이어그램, 상태를 표현하는 상태 다이어그램, 그리고 정책 대상 객체와 제약사항을 기술하는 정책 표현 부분으로 구성된다.

서론

오늘날 다양한 보안 하드웨어와 소프트웨어가 사용되지만, 보안 정책이 시스템마다 제각각 정의되어 관리자가 일관된 정책을 적용하기 어렵다. 기존의 텍스트 또는 논리 기반 언어들은 직관적이지 않고 특정 도메인(네트워크 또는 호스트)에 치우친 경향이 있다. 이를 해결하기 위해 본 논문은 이해하기 쉽고 간결하며, 호스트 및 네트워크 환경 등 다양한 도메인에 적용 가능한 정형화된 그래픽 기반 보안 정책 언어를 정의할 필요성을 제기한다.

배경

기존 보안 정책 언어들에 대한 분석은 다음과 같다.

  • Ponder: 호스트 보안 정책 위주이며 네트워크 표현이 상대적으로 미비하다.
  • PDL (Policy Description Language): 이벤트 기반이지만 접근 제어 정책을 지원하지 않는다.
  • LaSCO: 그래프 기반이나 객체 내부의 다양한 상태 변화를 표현하는 데 한계가 있다.
  • SPL (Security Policy Language) & PPL (Path-based Policy Language): 복잡한 인증이나 경로 제어에는 유용하지만 계층적 표현이나 그룹화에 제약이 있다.
  • ASL (Authorization Specification Language): 논리 기반으로 수학적 배경이 필요하여 직관적이지 않다.

모델 아키텍처 / 방법론

본 논문에서 제안하는 언어는 크게 시스템 기술 부분정책 표현 부분으로 나뉜다.

  • 클래스 다이어그램 (Class Diagram): 시스템의 정적인 관계를 표현한다. 클래스 이름, 애트리뷰트, 오퍼레이션으로 구성되며 상속성, 복합연관(Part-Of), 의존성 등의 관계를 정의한다.

  • 상태 다이어그램 (State Diagram): 객체의 상태 변화와 현재 진행 중인 행위를 모델링한다. 상태 전이는 다음과 같은 형식을 따른다. (Action or Event) [conditions] / action1(); action2()(Action \ or \ Event) \ [conditions] \ / \ action1(); \ action2() 여기서 conditions가 만족될 때 전이가 일어나며, 이후 정의된 action들이 수행된다.

  • 정책의 정의: 정책은 객체(Object), 객체 간의 의존성, 행위의 제약사항으로 표현된다.

    • 객체: objectName : className 형식으로 기술하며, 바인딩된 애트리뷰트(attribute = value)와 현재 상태(state)를 포함한다.
    • 객체 의존성: 두 객체 간의 행위 특성을 나타내며 Regular(일반), Obligation(의무), Constraint(금지 제약) 타입으로 구분된다.
    • 행위의 제약사항: BNF 표기법을 사용하여 정의하며, 이벤트 발생 시 만족해야 할 사전 조건(pre-condition)과 수행 후 제약사항을 기술한다.
    • 조건식 (OCL): 조건식은 OCL(Object Constraint Language)을 사용하여 표현한다. 기본 타입(Boolean, Integer 등)의 연산과 논리 연산자(and, or, implies 등)를 지원한다. let hasTitle(t:String):Boolean=jobexists(title=t) inlet \ hasTitle(t: String): Boolean = job \rightarrow exists(title = t) \ in \dots Figure 1

실험 결과

논문에서는 제안한 언어의 유효성을 검증하기 위해 '사용자 패스워드 변경 정책'을 예시로 들었다.

  • 시나리오: "90일에 한 번은 사용자 패스워드를 변경하라"는 보안 정책 적용.
  • 모델링 구조:
    • 클래스 다이어그램: Computer 클래스(속성: time, id, passwd / 오퍼레이션: login, ch_passwd)와 User 클래스 정의.
    • 상태 다이어그램: Computer 객체의 상태가 Normal에서 time > 90 조건 만족 시 Expire 상태로 전이됨을 표현.
    • 정책 표현 (그림 1 참조): 객체 다이어그램 하단에 OCL을 이용해 다음과 같은 제약사항을 명시하여 정책을 완성했다. {c.state="Expire" && c.login(id,passwd)} c.ch_passwd()\{ c.state = "Expire" \ \&\& \ c.login(id, passwd) \} \ c.ch\_passwd() 이는 컴퓨터 상태가 만료(Expire)이고 사용자가 로그인을 시도할 때, 반드시 패스워드 변경(ch_passwd)이 선행되어야 함을 의미한다.

결론

본 연구는 UML의 클래스, 상태, 객체 다이어그램과 OCL을 활용하여 시스템 및 네트워크 보안 정책을 정형화하고 시각화하는 언어를 제안했다. 이 언어는 객체의 상태와 연관성을 통해 복잡한 정책 조건과 행위를 명확하게 표현할 수 있는 장점이 있다. 향후 과제로는 이러한 정책을 수행하는 프레임워크 구축, 정책 간의 충돌 분석 및 시뮬레이션 방법에 대한 연구가 필요하다.